package com.ruoyi.device.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 设备采集配置对象 device_collect_config
 * 
 * @author ruoyi
 * @date 2025-10-20
 */
public class DeviceCollectConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 配置ID */
    private Long configId;

    /** 配置名称 */
    @Excel(name = "配置名称")
    private String configName;

    /** API地址 */
    @Excel(name = "API地址")
    private String apiUrl;

    /** Authorization令牌 */
    private String authorization;

    /** 每页数量 */
    @Excel(name = "每页数量")
    private Integer pageSize;

    /** 采集间隔(秒) */
    @Excel(name = "采集间隔(秒)")
    private Integer collectInterval;

    /** 状态(0-停用,1-启用) */
    @Excel(name = "状态", readConverterExp = "0=停用,1=启用")
    private String status;

    /** 最后采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastCollectTime;

    /** 最后采集状态 */
    @Excel(name = "最后采集状态")
    private String lastCollectStatus;

    /** 最后采集信息 */
    @Excel(name = "最后采集信息")
    private String lastCollectMessage;

    /** 累计采集次数 */
    @Excel(name = "累计采集次数")
    private Long totalCollected;

    /** 成功采集次数 */
    @Excel(name = "成功采集次数")
    private Long successCollected;

    /** 失败采集次数 */
    @Excel(name = "失败采集次数")
    private Long failedCollected;

    public void setConfigId(Long configId) 
    {
        this.configId = configId;
    }

    public Long getConfigId() 
    {
        return configId;
    }

    public void setConfigName(String configName) 
    {
        this.configName = configName;
    }

    public String getConfigName() 
    {
        return configName;
    }

    public void setApiUrl(String apiUrl) 
    {
        this.apiUrl = apiUrl;
    }

    public String getApiUrl() 
    {
        return apiUrl;
    }

    public void setAuthorization(String authorization) 
    {
        this.authorization = authorization;
    }

    public String getAuthorization() 
    {
        return authorization;
    }

    public void setPageSize(Integer pageSize) 
    {
        this.pageSize = pageSize;
    }

    public Integer getPageSize() 
    {
        return pageSize;
    }

    public void setCollectInterval(Integer collectInterval) 
    {
        this.collectInterval = collectInterval;
    }

    public Integer getCollectInterval() 
    {
        return collectInterval;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setLastCollectTime(Date lastCollectTime) 
    {
        this.lastCollectTime = lastCollectTime;
    }

    public Date getLastCollectTime() 
    {
        return lastCollectTime;
    }

    public void setLastCollectStatus(String lastCollectStatus) 
    {
        this.lastCollectStatus = lastCollectStatus;
    }

    public String getLastCollectStatus() 
    {
        return lastCollectStatus;
    }

    public void setLastCollectMessage(String lastCollectMessage) 
    {
        this.lastCollectMessage = lastCollectMessage;
    }

    public String getLastCollectMessage() 
    {
        return lastCollectMessage;
    }

    public void setTotalCollected(Long totalCollected) 
    {
        this.totalCollected = totalCollected;
    }

    public Long getTotalCollected() 
    {
        return totalCollected;
    }

    public void setSuccessCollected(Long successCollected) 
    {
        this.successCollected = successCollected;
    }

    public Long getSuccessCollected() 
    {
        return successCollected;
    }

    public void setFailedCollected(Long failedCollected) 
    {
        this.failedCollected = failedCollected;
    }

    public Long getFailedCollected() 
    {
        return failedCollected;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("configId", getConfigId())
            .append("configName", getConfigName())
            .append("apiUrl", getApiUrl())
            .append("authorization", getAuthorization())
            .append("pageSize", getPageSize())
            .append("collectInterval", getCollectInterval())
            .append("status", getStatus())
            .append("lastCollectTime", getLastCollectTime())
            .append("lastCollectStatus", getLastCollectStatus())
            .append("lastCollectMessage", getLastCollectMessage())
            .append("totalCollected", getTotalCollected())
            .append("successCollected", getSuccessCollected())
            .append("failedCollected", getFailedCollected())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}

